package cn.rkylin.oms.sysrefund.dao;

import java.util.List;

import cn.rkylin.oms.sysrefund.domain.SysRefund;
import cn.rkylin.oms.sysrefund.vo.SysRefundVO;

public interface ISysRefundDAO {

    int deleteByPrimaryKey(String refundId);

    int insert(SysRefund record);

    int insertSelective(SysRefund record) throws Exception;

    /**
     *
     * @param refundId
     * @return
     * @throws Exception
     */
    public SysRefund selectByPrimaryKey(String refundId) throws Exception;

    /**
     * updateByPrimaryKeySelective:更新系统退款单. <br/>
     *
     * @author zhanghao
     * @param record
     * @return
     * @throws Exception 
     */
    int updateByPrimaryKeySelective(SysRefundVO record) throws Exception;

    int updateByPrimaryKey(SysRefund record);

    /**
     * insertBatch:批量新增退款单基本信息. <br/>
     *
     * @author zhanghao
     * @param sysRefundVOList
     * @return
     * @throws Exception 
     */
    int insertBatch(List<SysRefundVO> sysRefundVOList) throws Exception;

    /**
     * selectBySelectiveKey4Update:按照查询条件查询系统退款单. <br/>
     *
     * @author zhanghao
     * @param sysRefundVO
     * @return
     */
    List<SysRefundVO> selectBySelectiveKey4Update(SysRefundVO sysRefundVO) throws Exception;

    /**
     * 按条件获取系统退款单列表
     *
     * @param sysRefundVO
     * @return
     * @throws Exception
     */
    public List<SysRefundVO> selectSysRefundListByCondition(SysRefundVO sysRefundVO) throws Exception;

    /**
     *通过订单id获取退款单信息
     * @param orderId
     * @return
     * @throws Exception
     */
    public List<SysRefund> selectSysRefundByOrderID(String orderId) throws Exception;

}

